Ansible2.2 から Ansible 2.3
Python で実装された構成管理ツール Ansibleについて、
各バージョンでの違いをまとめ "Ansible Migration Guide" を翻訳しています。
async
Ansible 2.2までは service モジュールなどのアクションプラグインと組み合わせて使えなかったけれど、この制限がなくなりました。
code: ansible
- name: Install nginx asynchronously
service:
name: nginx
state: restarted
async: 45
名前付きブロック
Ansible 2.3 からブロックに名前をつけることができるようになりました。これにより不必要なコメントを避けることできます。
code: ansible
- name: Block test case
hosts: localhost
tasks:
- name: Attempt to setup foo
block:
- debug: msg='I execute normally'
- command: /bin/false
- debug: msg='I never execute, cause ERROR!'
rescue:
- debug: msg='I caught an error'
- command: /bin/false
- debug: msg='I also never execute :-('
always:
- debug: msg="this always executes"
複数のタグの使用
コマンドラインで --tags(または --skip-tags)を複数回指定すると、最後に指定されたタグが指定された他のすべてのタグを上書きします。 この動作は推奨されていません。 将来、タグを複数回指定すると、タグは一緒にマージされます。
Ansible 2.3 では、1つのコマンド行で --tagsを複数回使用されると、廃止予定の警告が表示されるます。
ansible.cfg ファイルで merge_multiple_cli_tags オプションを True に設定するとこの新しい動作が有効になります。
Ansible 2.4では、デフォルトでタグがマージされます。 古い上書き動作を有効にするには、ansible.cfg ファイルで merge_multiple_cli_tags オプションを False に設定します。
Ansible 2.5では、複数の--tagsオプションがマージされ、(最後のタグで上書きされる)古い動作は廃止されています。
その他の変更点
Ansible のバージョンを更新すると、パーサーが変更になったことにより以前には無視されていたエラーが発生することがあります。
モジュール
このバージョンで追加や更新されたモジュールはありません。
削除されたモジュール
このバージョンで削除されたモジュールはありません。
非推奨モジュール
以下のモジュールはAnsible 2.5で削除されます。
ec2_vpc
cl_bond
cl_bridge
cl_img_install
cl_interface
cl_interface_policy
cl_license
cl_ports
nxos_mtu 代わりに nxos_system を使用します